home *** CD-ROM | disk | FTP | other *** search
- VERSION 2.00
- Begin Form OBrowseForm
- Caption = "Form1"
- ClientHeight = 2565
- ClientLeft = 1935
- ClientTop = 1965
- ClientWidth = 5040
- Height = 2970
- HelpContextID = 104
- Icon = OBROWSE.FRX:0000
- Left = 1875
- LinkTopic = "Form1"
- MaxButton = 0 'False
- MDIChild = -1 'True
- ScaleHeight = 2565
- ScaleWidth = 5040
- Top = 1620
- Width = 5160
- Begin Data Data1
- Caption = "Data1"
- Connect = ""
- DatabaseName = ""
- Exclusive = 0 'False
- Height = 270
- Left = 240
- Options = 0
- ReadOnly = 0 'False
- RecordSource = ""
- Top = 1680
- Visible = 0 'False
- Width = 1455
- End
- Begin TgDemo OBrowseTable
- BackColor = &H00C0C0C0&
- BorderStyle = 0 'None
- Configurable = 0 'False
- DataSource = "Data1"
- Editable = -1 'True
- EditBackColor = &H8000000D&
- EditForeColor = &H8000000E&
- FetchMode = 0 'By cell
- FontBold = 0 'False
- FontItalic = 0 'False
- FontName = "MS Sans Serif"
- FontSize = 8.25
- FontStrikethru = 0 'False
- FontUnderline = 0 'False
- HeadBackColor = &H80000002&
- HeadForeColor = &H80000009&
- Headings = -1 'True
- Height = 1575
- HorzColor = &H00808080&
- HorzLines = 2 '3D
- InactiveBackColor= &H00808080&
- InactiveForeColor= &H00000000&
- Layout = OBROWSE.FRX:0302
- Left = 0
- MarqueeStyle = 3 'Highlight Row
- SelectedBackColor= &H00000000&
- SelectedForeColor= &H00FFFFFF&
- SelectMode = 0 'Disabled
- TabIndex = 0
- Top = 0
- UseBookmarks = -1 'True
- VertColor = &H00808080&
- VertLines = 2 '3D
- Width = 4575
- End
- ' Local variables for OBROWSE instance
- Dim FormIndex As Integer
- Dim ourset As Dynaset
- Dim WidthDelta As Integer
- Sub DeleteOrder ()
- ' Delete the current order
- msg$ = "Delete order " & ourset("OrderNo") & " and all of its items?"
- If MsgBox(msg$, MB_ICONEXCLAMATION Or MB_OKCANCEL) <> IDOK Then Exit Sub
- ' Remove any hiding detail records first
- tbname$ = OBrowseFormItems(FormIndex).fiTable
- x$ = "DELETE FROM [" & tbname$ & "] WHERE IsDetail AND OrderNo = " & ourset("OrderNo")
- Data1.Database.Execute x$
- On Error GoTo haschanged
- ourset.Delete ' remove current record
- Exit Sub
- haschanged: ' ignore data changed warning, if present
- ourset.Delete
- Exit Sub
- End Sub
- Sub Form_Activate ()
- Data1.Refresh
- End Sub
- Sub Form_Load ()
- ' Keep track of the difference between inside
- ' and outside dimensions.
- WidthDelta = Me.Width - Me.ScaleWidth
- ' Capture information which was stored in OBrowseOpen
- ' in the OBROWSE.BAS module
- FormIndex = FormLastAlloc()
- Me.Tag = FormIndex
- OBrowseTable.Tag = FormIndex
- Data1.DatabaseName = OBrowseFormItems(FormIndex).fiFileName
- tbname$ = OBrowseFormItems(FormIndex).fiTable
- Data1.RecordSource = "SELECT * FROM [" & tbname$ & "] WHERE NOT IsDetail"
- Data1.Refresh
- Set ourset = Data1.Recordset
- End Sub
- Sub Form_Resize ()
- ' Constrain our width
- If Me.WindowState = NORMAL Then
- Me.Width = OBrowseTable.Width + WidthDelta
- OBrowseTable.Height = Me.ScaleHeight
- End If
- End Sub
- Sub Form_Unload (Cancel As Integer)
- Data1.Recordset.Close
- FormFree OBrowseFormItems(FormIndex)
- End Sub
- Function OBrowseNextOrder () As Long
- ' Use 100, or the last order + 1 for the order number
- If ourset.RecordCount = 0 Then
- OBrowseNextOrder = 100
- Else
- ourset.MoveLast
- OBrowseNextOrder = ourset("OrderNo") + 1
- End If
- End Function
- Sub OBrowseTable_Append ()
- ' Append a new record, and make up an order number
- ' by fetching the last record.
- ordno& = OBrowseNextOrder()
- ourset.AddNew
- ourset("CustName") = "New..."
- ourset("OrderNo") = ordno&
- ourset.Update
- ourset.MoveLast
- End Sub
- Sub OBrowseTable_DragDrop (Source As Control, x As Single, Y As Single)
- ' Dropping a customer into an order browser creates
- ' a new order.
- If EndDragMode(MASK_CUST) Then
- ordno& = OBrowseNextOrder()
- ourset.AddNew
- ourset("CustNo") = Source.ColumnText(1)
- ourset("CustName") = Source.ColumnText(2)
- ourset("OrderNo") = ordno&
- ourset("OrderDate") = Format$(Now, "Short Date")
- ourset("IsDetail") = False
- ourset.Update
- ourset.MoveLast
- OBrowseTable.SetFocus
- End If
- End Sub
- Sub OBrowseTable_DragOver (Source As Control, x As Single, Y As Single, State As Integer)
- valid% = DragValid(Source, MASK_CUST, State)
- End Sub
- Sub OBrowseTable_GotFocus ()
- OBrowseTable.RefreshRow = 0
- SetStatus "Orders - drag out to edit; drag customers in for a new order"
- End Sub
- Sub OBrowseTable_KeyPress (KeyAscii As Integer)
- ' Escape discards changes
- If KeyAscii = 27 Then Data1.UpdateControls
- End Sub
- Sub OBrowseTable_KeyUp (KeyCode As Integer, Shift As Integer)
- ' F2 Updates, DEL removes the order
- If KeyCode = KEY_F2 Then Data1.Recordset.Update
- If KeyCode = KEY_DELETE Then
- If OBrowseTable.HwndEdit = 0 Then
- DeleteOrder
- End If
- End If
- End Sub
- Sub OBrowseTable_LostFocus ()
- Data1.Recordset.Update
- End Sub
- Sub OBrowseTable_MouseDown (Button As Integer, Shift As Integer, x As Single, Y As Single)
- GridMaybeDrag OBrowseTable, x, Y
- End Sub
- Sub OBrowseTable_MouseMove (Button As Integer, Shift As Integer, x As Single, Y As Single)
- GridTestDrag OBrowseTable, Button, x, Y, MASK_OBROWSE, Utils.DragOrder
- End Sub
-